W tym, ostatnim już, notatniku omówię budowę aplikacji mobilnej mającej na celu wykorzystanie utworzonych wcześniej modeli do rozpoznawania kart do gry.

Schemat wyglądu aplikacji¶

Zobaczmy sobie na wczesny schemat budowy aplikacji (utworzony jeszcze przed rozpoczęciem pisania kodu):

Schemat

Finalna wersja w miarę pokrywa się z tymi założeniami.

Budowa aplikacji / instrukcja¶

Zobaczmy oraz omówmy finalną budowę aplikacji.

UWAGA! Aplikacja może wymagać minimum 3/4 GB RAMu.

Menu główne¶

Menu główne

Menu główne

Tak prezentuje się Menu główne. Poza napisem na samej górze mamy jeszcze podanego autora aplikacji (czyli mnie) oraz 3 przyciski:

  • Zrób zdjęcie - przenosi nas do aparatu, aby wykonać zdjęcie (o ile udzielimy odpowiednich uprawnień)

  • Wczytaj zdjęcie - przenosi nas do galerii, z której możemy wybrać dowolne zdjęcie

  • Zobacz zapisane - pokazuje nam listę wszystkich wykonanych zapisów (przenosi nas do sekcji Zapisane pozycje)

Przycisk cofania powoduje wyjście z aplikacji.

Zrób zdjęcie¶

Zrób zdjęcie

Zrób zdjęcie

Akceptacja zrobionego zdjęcia

Akceptacja zrobionego zdjęcia

Zrób zdjęcie to sekcja, w której, po udzieleniu uprawnień do korzystania z aparatu, mamy do dyspozycji aparat telefonu. Możemy wykonać dowolne zdjęcie (tak jak na obrazie po lewej) i następnie przechodzimy do akceptacji naszego zdjęcia (obraz po lewej). Jeżeli odrzucimy zrobione zdjęcie, to wracamy z powrotem do aparatu, a jeśli zaakceptujemy to idziemy dalej do sekcji Wybór trybu i modelu.

Wczytaj zdjęcie¶

Wybór zdjęcia

Wybór zdjęcia

Wczytaj zdjęcie pozwala nam wybrać z galerii dowolne zdjęcie, po czym przenosi nas do Wybór trybu i modelu.

Wybór trybu i modelu¶

Wybór trybu i modelu

Wybór trybu i modelu

Tryby

Wybór trybu i modelu: tryby

Modele

Wybór trybu i modelu: modele

W Wybór trybu i modelu możemy dostosować ustawienia dotyczące detekcji, takie jak:

  • Wybierz tryb - Odpowiada za to jak dzielimy detekcje znalezione przez model. Wyróżniamy 3 opcje:

    • Detekcja kart - domyślna opcja, po prostu wykrywa karty. Każda karta ma swój własny kolor.
    • Poker Klasyczny - wykrywa karty oraz dzieli detekcję na grupy po 5 kart. Każda grupa ma swój unikalny kolor. Dodatkowo zaznacza wygranych graczy.
    • Poker Texas - również wykrywa karty i dokonuje podziału na grupy. Najpierw tworzy jedną grupę 5 kart (tzw. Kary wspólne), a następnie tworzy grupy po 2 karty, z unikalnymi kolorami oraz zaznacza wygranych graczy.

    Każda detekcja będzie zaznaczona ramką wokół rogu karty z figurą i symbolem karty oraz napisem na przeźroczystym tle. UWAGA! Dla opcji Poker Klasyczny i Poker Texas upewnij się, że odległości między grupami kart są wystarczające, aby nastąpił odpowiedni podział.

  • Wybierz rozdzielczość modelu - Ta opcja pozwala nam zdecydować jakiego modelu użyjemy. Możliwe wybory reprezentują rozdzielczość do jakiej zostanie sprowadzony oryginalny obraz w celu wykorzystania na nim modelu (jest to rozdzielczość wymagana na wejściu modelu). Tutaj mamy do wyboru 4 opcje:

    • 320x320 - najmniejszy oraz najszybszy model. Posiada również najniższą dokładność.
    • 640x640 - łączy w sobie dużą szybkość oraz dokładność, jest to domyślny wybór.
    • 1024x1024 - również stosunkowo szybki i bardzo dokładny.
    • 1600x1600 - najwolniejszy, ale i również najdokładniejszy z wszystkich modeli.
  • Wyświetlić pewność detekcji? - Decyduje o tym, czy wyświetlić w tekście danej detekcji dodatkowo informację o jej pewności w procentach.

  • Próg detekcji - Pozwala nam dostosować od ilu procent pewności akceptujemy detekcje.

Kliknięcie na przycisk OK wyświetla nam na ekranie sekcję Trwa detekcja i rozpoczyna pracę modelu.

Trwa detekcja¶

Trwa praca modelu

Trwa praca modelu

Trwa detekcja jest sekcją, w której aplikacja jest nieresponsywna, ponieważ model wykonuję wszystkie wymagane operację. Po zakończeniu zostajemy przeniesieni do sekcji Informacje o detekcji.

Informacje o detekcji¶

Oryginalne zdjęcie

Informacje o detekcji: oryginalne zdęcie

Zdjęcie z detekcjami - Detekcja kart

Informacje o detekcji: zdjęcie z detekcjami - Detekcja kart

Zdjęcie z detekcjami - Poker klasyczny

Informacje o detekcji: zdjęcie z detekcjami - Poker klasyczny

Zdjęcie z detekcjami - Poker texas

Informacje o detekcji: zdjęcie z detekcjami - Poker texas

Informacje 1

Informacje o detekcji: informacje 1

Informacje 2

Informacje o detekcji: informacje 2

Wszystkie detekcje - Detekcja kart

Informacje o detekcji: wszystkie detekcje

Gracze - Poker klasyczny

Informacje o detekcji: poker klasyczny 1

Informacje o detekcji: poker klasyczny 2

Gracze - Poker texas

Informacje o detekcji: poker texas 1

Informacje o detekcji: poker texas 2

Informacje o detekcji jest dużą sekcją przedstawiającą wszystkie informację o detekcjach. Widzimy w niej:

  • 2 przyciski:

    • Menu główne - przenosi nas do sekcji Menu główne.
    • Zapisz - powoduje przejście do sekcji Zapisz.
  • Widok aktualnej strony - Przedstawia nam różne treści z informacjami, w zależności od numeru strony:

    • 1. Oryginalne zdjęcie - pokazuje nam oryginalne zdjęcie, na którym poszukiwaliśmy detekcji.
    • 2. Zdjęcie z detekcjami - w zależności od wybranego trybu i tego czy chcemy widzieć pewność detekcji pokazuje nam obraz z detekcjami:
      • "Detekcja kart" - zaznacza detekcję w ramkę oraz pokazuje jaka to karta (każda karta ma swój unikalny kolor ramki)
      • "Poker Klasyczny" - zaznacza detekcję, ale grupuje je po 5 kart. Każda grupa ma swój kolor oraz wygrana grupa (lub kilka) jest zaznaczona złotym owalem.
      • "Poker Texas" - również zaznacza detekcję. Tworzy jedną grupę 5 kart i pozostałe po 2. Też zaznacza wygraych złotym owalem.
    • 3. Informację o detekcji - wyświetla następujące informację o detekcji:
      • Tryb,
      • Oryginalna rozdzielczość ekranu,
      • Rozdzielczość modelu,
      • Model,
      • Próg detekcji,
      • zas trwania detekcji,
      • Liczba wszystkich detekcji,
      • Liczba unikanych kart,
      • Wyryte karty:
        • Dla trybu "Detekcja kart" są to unikalne karty z największą pewnością.
        • Dla trybów "Poker Klasyczny" i "Poker Texas" są to wszystkie detekcje posortowane pewnością.
    • 4. Wszystkie detekcje lub Gracze - W zależności od trybu:
      • "Detekcja kart" - wyświetla wszystkie znalezione detekcje, posortowane od najpewniejszych.
      • "Poker Klasyczny" - wyświetla wygranego gracza oraz rękę i najlepszą kombinację wszystkich graczy.
      • "Poker Texas" - pokazuje wygranego gracza, karty wspólne oraz rękę i najlepszą kombinację wszystkich graczy.
  • Numery stron, włącznie z aktualnie wybraną.

Zapisz¶

Zapisz

Zapisz

Sekcja Zapisz jest odpowiedzialna za tworzenia zapisu na podstawie naszej detekcji. Mamy tutaj:

  • Miejsce do wprowadzenia "Nazwy zapisu" o długości od 1 do 25 znaków.

  • Miejsce do wprowadzenia dowolnego opisu.

  • Przycisk Potwierdź - tworzy nasz zapis i przenosi nas z powrotem do sekcji Menu główne. Jeżeli nazwa jest pusta lub zawiera same spacje, to wyskakuje odpowiedni monit i zosajemy dalej w sekcji Zapisz.

  • Przycisk Wróć - przenosi nas do tyłu do sekcji Informacje o detekcji.

Zapisane pozycje¶

Zapisane pozycje

Zapisane pozycje

Zapisane pozycje pokazuje nam wszystkie zapisy obecne na urządzeniu. Sekcja składa się z następujących elementów:

  • Na górze napis "Zapisane pozycję:" oraz liczba zapisów.

  • Poniżej napis "Sortuj według:" oraz przyciski umożliwiające sortowanie zaspisów wg. Nazwy lub Daty, malejąco lub rosnąco.

  • Dalej mamy listę wszystkich zapisów. Każdy element składa się z:

    • Nazwy zapisu,
    • Daty oraz godziny utworzenia zapisu,
    • Wybranego trybu detekcji,
    • Przycisku z "X" odpowiadającego za usunięcie zapisu, po potwierdzeniu,
    • Przycisku "DETALE", który przenosi do sekcji Szczegóły zapisu.
  • Na dole mamy przycisk Wróć. Powoduje on powrót do sekcji Menu główne.

Szczegóły zapisu¶

Oryginalne zdjęcie

Szczegóły zapisu: oryginalne zdjęcie

Zdjęcie z detekcjami - Detekcja kart

Szczegóły zapisu: zdjęcie z detekcjami - Detekcja kart

Zdjęcie z detekcjami - Poker klasyczny

Szczegóły zapisu: zdjęcie z detekcjami - Poker klasyczny

Zdjęcie z detekcjami - Poker texas

Szczegóły zapisu: zdjęcie z detekcjami - Poker texas

Informacje 1

Szczegóły zapisu: informacje 1

Informacje 2

Szczegóły zapisu: informacje 2

Wszystkie detekcje - Detekcja kart

Szczegóły zapisu: wszystkie detekcje

Gracze - Poker klasyczny

Szczegóły zapisu: wszystkie detekcje - Poker klasyczny 1

Szczegóły zapisu: wszystkie detekcje - Poker klasyczny 2

Gracze - Poker texas

Szczegóły zapisu: wszystkie detekcje - Poker texas 1

Szczegóły zapisu: wszystkie detekcje - Poker texas 2

Opis

Szczegóły zapisu: opis

Edycja 1

Szczegóły zapisu: edycja 1

Edycja 2

Szczegóły zapisu: edycja 2

Sekcja Szczegóły zapisu bardzo przypomina Informacje o detekcji. Jedynymi różnicami są dwie dodatkowe strony, a cała budowa sekcji prezentuje się następująco:

  • Na górze nazwa zapisu oraz data i godzina utworzenia lub edycji zapisu.

  • Poniżej widok aktualnej strony - Przedstawia nam różne treści z informacjami, w zależności od numeru strony:

    • 1. Oryginalne zdjęcie - pokazuje nam oryginalne zdjęcie, na którym poszukiwaliśmy detekcji.
    • 2. Zdjęcie z detekcjami - w zależności od wybranego trybu i tego czy chcemy widzieć pewność detekcji pokazuje nam obraz z detekcjami:
      • "Detekcja kart" - zaznacza detekcję w ramkę oraz pokazuje jaka to karta (każda karta ma swój unikalny kolor ramki)
      • "Poker Klasyczny" - zaznacza detekcję, ale grupuje je po 5 kart. Każda grupa ma swój kolor oraz wygrana grupa (lub kilka) jest zaznaczona złotym owalem.
      • "Poker Texas" - również zaznacza detekcję. Tworzy jedną grupę 5 kart i pozostałe po 2. Też zaznacza wygraych złotym owalem.
    • 3. Informację o detekcji - wyświetla następujące informację o detekcji:
      • Tryb,
      • Oryginalna rozdzielczość ekranu,
      • Rozdzielczość modelu,
      • Model,
      • Próg detekcji,
      • zas trwania detekcji,
      • Liczba wszystkich detekcji,
      • Liczba unikanych kart,
      • Wyryte karty:
        • Dla trybu "Detekcja kart" są to unikalne karty z największą pewnością.
        • Dla trybów "Poker Klasyczny" i "Poker Texas" są to wszystkie detekcje posortowane pewnością.
    • 4. Wszystkie detekcje lub Gracze - W zależności od trybu:
      • "Detekcja kart" - wyświetla wszystkie znalezione detekcje, posortowane od najpewniejszych.
      • "Poker Klasyczny" - wyświetla wygranego gracza oraz rękę i najlepszą kombinację wszystkich graczy.
      • "Poker Texas" - pokazuje wygranego gracza, karty wspólne oraz rękę i najlepszą kombinację wszystkich graczy.
    • 5. Opis - pokazuje nam opis, jaki przypisaliśmy podczas tworzenia zapisu lub napis "BRAK OPISU", jeśli był on pusty.
    • 6. Edycja - tutaj widzimy 5 przycisków mających róźne zastosowania:
      • EDYTUJ ZAPIS - umożliwia nam edycję nazwy oraz opisu danego zapisu, przenosi nas do sekcji bazującej na Zapisz.
      • USUŃ ZAPIS - wyświetla komunikat, czy na pewno chcemy usunąć zapis. Po potwierdzeniu usuwa go.
      • DETEKCJA Z UŻYCIEM INNEGO MODELU - przenosi nas do Wybór trybu i modelu z oryginalnym obrazem jako tym, na którym zostanie wykonana detekcja.
      • ZAPISZ W GALERII ORYGINALNE ZDJĘCIE - zapisuje w galerii oryginalne zdjęcie.
      • ZAPISZ W GALERII ZDJĘCIE Z DETEKCJAMI - zapisuje w galerii zdjęcie z detekcjami.
  • Następnie numery stron, włącznie z aktualnie wybraną.

  • Na samym dole mamy przycisk Wróć, przenoszący nas z powrotem do sekcji Zapisane pozycje


Pomniejsze sekcje¶

Widok obrazu w pełnym ekranie¶

Widok obrazu w pełnym ekranie

Widok obrazu w pełnym ekranie

Widok obrazu w przybliżeniu

Widok obrazu w przybliżeniu

Wszędzie, gdzie jest widoczne Oryginalne zdjęcie lub Zdjęcie z detekcjami możemy na nie kliknąć, aby wyświetlić je w pełnym ekranie. W tym stanie możemy je przybliżać.

Pusta detekcja¶

Brak detekcji 1

Brak detekcji 1

Brak detekcji 2

Brak detekcji 2

Brak detekcji 3

Brak detekcji 3

Brak detekcji 4

Brak detekcji 4

 

Brak detekcji: Poker 1

Brak detekcji: Poker 1

Brak detekcji: Poker 2

Brak detekcji: Poker 2

Brak detekcji: Poker 3

Brak detekcji: Poker 3

Brak detekcji: Poker 4

Brak detekcji: Poker 4

Jeżeli model nie wykryję żadnej detekcji to na stronie Zdjęcie z detekcjami mamy obraz o rozmiarze oryginału, będący cały czarny z napisem "Brak detekcji". Dodatkowo w informacjach oraz detekcjach widzimy napis "BRAK DETEKCJI". Dla pokerów działa to identycznie.

Możliwe problemy¶

  • Jeśli po zakończeniu detekcji zostajemy przeniesieni do sekcji Menu główne zamiast Informacje o detekcji oznacza to, że wybrany model okazał się zbyt skomplikowany dla urządzenia (prawdopodobnie ilość ramu okazała się za mała). W takim wypadku należy w sekcji Wybór trybu i modelu wybrać mniejszy model.

  • Po usunięciu aplikacji tracimy wszystkie zapisy

  • Tak jak wspomniane w sekcji Wybór trybu i modelu, jeśli wybierzesz tryb Poker Klasyczny lub Poker Texas, upewnij się, że odległości między grupami kart są wystarczające, aby nastąpił odpowiedni podział. Czasami może to wymagać ponownego ustawienia kart i zrobienia nowego zdjęcia.

Podsumowanie¶

Jak widzimy początkowy schemat mocno odwzorowuje finalny projekt (choć występuje kilka różnic). Aplikacja utworzona z przygotowanych modeli działa bardzo dobrze, nawet na nienajlepszym sprzęcie mobilnym.